package cn.nange.cmfz.dao;

import cn.nange.cmfz.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserDao {
    void insert(User u);
    void update(User u);
    void delete(Integer id);
    void ban(Integer id);
    User selectOne(Integer id);
    User selectByName(String name);
    int add(List<User> list);
    List<User> selectAll();
    List<Map> selectAllBySex();
    List<Map> selectAllByProvince();


    /**
     * 因为MyBatis默认只能写一个参数 想要传入多个参数
     * 1.通过对象
     * 2.通过map
     * 3.通过 @Param 注解实际上就是封装成了map  注解的参数实际上就是map的key
     *
     * MyBatis 对map的支持比较好 mapper文件中获取参数 mapper查询的结果映射 可以 映射为map
     *
     * @return
     */
    int selectByDay(int max,int min);
    int selectByDayCount(@Param("max") Integer max, @Param("min") Integer min);
}
